/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.application.Platform
 *  javafx.beans.value.ChangeListener
 *  javafx.beans.value.ObservableValue
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.Node
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.TableCell
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.AnchorPane
 *  javafx.stage.Modality
 *  javafx.stage.Stage
 *  javafx.util.Callback
 *  org.springframework.beans.factory.annotation.Autowired
 */
package com.gys.controller.salesReceipts;

import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.common.business.SalesReceiptsUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.util.CacheUtil;
import com.gys.common.util.CommonUtil;
import com.gys.common.util.SpringUtil;
import com.gys.controller.BaseController;
import com.gys.controller.dataManger.ControllerManger;
import com.gys.controller.salesReceipts.PointExchangeTipController;
import com.gys.controller.salesReceipts.SalesReceiptsMainController;
import com.gys.data.salesReceipts.GetPdAndExpOutData;
import com.gys.data.salesReceipts.GetPointExchangeOutData;
import com.gys.data.salesReceipts.GetSalesReceiptsTableOutData;
import com.gys.view.salesReceipts.PdAndExpView;
import com.gys.view.salesReceipts.PointExchangeTipView;
import de.felixroske.jfxsupport.FXMLController;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.ResourceBundle;
import java.util.Timer;
import java.util.TimerTask;
import javafx.application.Platform;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.control.Alert;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.util.Callback;
import org.springframework.beans.factory.annotation.Autowired;

@FXMLController
public class PdAndExpController
extends BaseController
implements Initializable {
    @FXML
    private TableColumn<GetPdAndExpOutData, String> proCode;
    @FXML
    private TableView<GetPdAndExpOutData> tableView;
    @FXML
    private TableColumn<GetPdAndExpOutData, String> proName;
    @FXML
    private TableColumn<GetPdAndExpOutData, String> gssbQty;
    @FXML
    private TableColumn<GetPdAndExpOutData, String> gssbBatchNo;
    @FXML
    private TableColumn<GetPdAndExpOutData, String> gssbVaildDate;
    @FXML
    private TableColumn<GetPdAndExpOutData, String> num;
    @FXML
    private AnchorPane pane;
    private Timer timer = new Timer();
    @Autowired
    private PointExchangeTipController pointExchangeTipController;
    @Autowired
    private SalesReceiptsMainController salesReceiptsMainController;
    private ObservableList<GetPdAndExpOutData> observableTableList = FXCollections.observableArrayList(new ArrayList());
    private String proCodeParam;
    private GetPointExchangeOutData pointExchangeOutData = null;
    private GetPdAndExpOutData pdAndExpOutData = null;

    public void initialize(URL location, ResourceBundle resources) {
        ControllerManger.controllerMap.put(this.getClass().getSimpleName(), this);
        this.proCode.setCellValueFactory((Callback)new PropertyValueFactory(this.proCode.getId()));
        this.proName.setCellValueFactory((Callback)new PropertyValueFactory(this.proName.getId()));
        this.gssbQty.setCellValueFactory((Callback)new PropertyValueFactory(this.gssbQty.getId()));
        this.gssbBatchNo.setCellValueFactory((Callback)new PropertyValueFactory(this.gssbBatchNo.getId()));
        this.gssbVaildDate.setCellValueFactory((Callback)new PropertyValueFactory(this.gssbVaildDate.getId()));
        this.num.setCellValueFactory((Callback)new PropertyValueFactory(this.num.getId()));
        this.addTextField(this.num);
        this.init();
    }

    @Override
    public void init() {
        if (ObjectUtil.isEmpty(this.tableView)) {
            return;
        }
        this.pdAndExpOutData = null;
        this.timer.schedule(new TimerTask(){

            @Override
            public void run() {
                PdAndExpView view = SpringUtil.getBean(PdAndExpView.class);
                Stage stage = (Stage)view.getView().getScene().getWindow();
                stage.getScene().setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

                    public void handle(KeyEvent e) {
                        if (e.getCode() == KeyCode.ENTER) {
                            PdAndExpController.this.sureAction();
                        } else if (e.getCode() == KeyCode.UP) {
                            int index;
                            ObservableList outData = PdAndExpController.this.tableView.getSelectionModel().getSelectedItems();
                            if (outData.size() > 1 && (index = PdAndExpController.this.tableView.getSelectionModel().getSelectedIndex()) >= 1) {
                                PdAndExpController.this.tableView.getSelectionModel().select(index - 1);
                            }
                            PdAndExpController.this.tableView.requestFocus();
                        } else if (e.getCode() == KeyCode.DOWN) {
                            int index;
                            ObservableList outData = PdAndExpController.this.tableView.getSelectionModel().getSelectedItems();
                            if (outData.size() > 1 && (index = PdAndExpController.this.tableView.getSelectionModel().getSelectedIndex()) < outData.size() - 1) {
                                PdAndExpController.this.tableView.getSelectionModel().select(index + 1);
                            }
                            PdAndExpController.this.tableView.requestFocus();
                        }
                        e.consume();
                    }
                });
            }
        }, 500L);
        this.observableTableList.clear();
        this.tableView.setItems(this.observableTableList);
        this.tableView.refresh();
        HashMap<String, Object> param = new HashMap<String, Object>();
        param.put("nameOrCode", this.proCodeParam);
        HttpJson httpJson = SalesReceiptsUtil.queryBatchNoAndExp(param);
        List outData = null;
        if (!httpJson.isSuccess()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
            alert.showAndWait();
            return;
        }
        outData = JSON.parseArray((String)httpJson.getMsg(), GetPdAndExpOutData.class);
        GetSalesReceiptsTableOutData selectedItem = (GetSalesReceiptsTableOutData)this.salesReceiptsMainController.getTableView().getSelectionModel().getSelectedItem();
        ObservableList items = this.salesReceiptsMainController.getTableView().getItems();
        ArrayList<GetPdAndExpOutData> remove = new ArrayList<GetPdAndExpOutData>();
        for (int i = 0; i < items.size(); ++i) {
            GetSalesReceiptsTableOutData item = (GetSalesReceiptsTableOutData)items.get(i);
            if (item == selectedItem || !this.proCodeParam.equals(item.getProCode()) || ObjectUtil.isEmpty(item.getPdAndExpData())) continue;
            for (int j = 0; j < outData.size(); ++j) {
                GetPdAndExpOutData getPdAndExpOutData = (GetPdAndExpOutData)outData.get(j);
                if (!getPdAndExpOutData.getGssbBatchNo().equals(item.getPdAndExpData().getGssbBatchNo())) continue;
                Float count = Float.valueOf(Float.valueOf(getPdAndExpOutData.getGssbQtyB()).floatValue() - Float.valueOf(item.getNum()).floatValue());
                getPdAndExpOutData.setGssbQtyB(CommonUtil.format2(count.floatValue()));
                if (!(count.floatValue() <= 0.0f)) continue;
                remove.add(getPdAndExpOutData);
            }
        }
        outData.removeAll(remove);
        if (ObjectUtil.isEmpty(selectedItem.getPdAndExpData())) {
            String text = this.salesReceiptsMainController.getNumTextField().getText();
            if (ObjectUtil.isNotEmpty(text)) {
                ((GetPdAndExpOutData)outData.get(0)).setNum(text);
            } else {
                ((GetPdAndExpOutData)outData.get(0)).setNum("1");
            }
        } else {
            GetPdAndExpOutData pdAndExpData = selectedItem.getPdAndExpData();
            for (int i = 0; i < outData.size(); ++i) {
                if (!pdAndExpData.getGssbBatchNo().equals(((GetPdAndExpOutData)outData.get(i)).getGssbBatchNo())) continue;
                if (this.salesReceiptsMainController.numInFlag) {
                    ((GetPdAndExpOutData)outData.get(i)).setNum(this.salesReceiptsMainController.getNumTextField().getText());
                    break;
                }
                ((GetPdAndExpOutData)outData.get(i)).setNum(selectedItem.getNum());
                break;
            }
        }
        ((GetSalesReceiptsTableOutData)this.salesReceiptsMainController.getTableView().getSelectionModel().getSelectedItem()).setPdAndExpOutDataList(outData);
        this.observableTableList = FXCollections.observableArrayList((Collection)outData);
        this.tableView.setItems(this.observableTableList);
        if (this.observableTableList.size() > 0) {
            this.tableView.getSelectionModel().select(0);
        }
        this.tableView.requestFocus();
    }

    private void addTextField(TableColumn<GetPdAndExpOutData, String> column) {
        column.setCellFactory(tc -> {
            final TextField textField = new TextField();
            TableCell<GetPdAndExpOutData, String> cell = new TableCell<GetPdAndExpOutData, String>(){

                protected void updateItem(String chuzhi, boolean empty) {
                    super.updateItem(chuzhi, empty);
                    if (empty) {
                        this.setGraphic(null);
                    } else {
                        int index = this.getIndex();
                        if (ObjectUtil.isNotEmpty(chuzhi)) {
                            textField.setText(chuzhi);
                        }
                        this.setGraphic((Node)textField);
                    }
                }
            };
            textField.textProperty().addListener((ChangeListener)new ChangeListener<String>(){
                final TableCell val_cell;
                final  TextField val_textField;
                {
                    this.val_cell = cell;
                    this.val_textField = textField;
                }

                public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
                    int index = this.val_cell.getIndex();
                    GetPdAndExpOutData pdAndExpOutData = PdAndExpController.this.observableTableList.get(index);
                    if (ObjectUtil.isNotEmpty(newValue) && !CommonUtil.positiveInteger(newValue)) {
                        this.val_textField.setText(oldValue);
                        return;
                    }
                    this.val_textField.setText(newValue);
                    pdAndExpOutData.setNum(newValue);
                    PdAndExpController.this.tableView.getSelectionModel().select(index);
                }
            });
            return cell;
        });
    }

    @FXML
    private void sureAction() {
        this.pdAndExpOutData = (GetPdAndExpOutData)this.tableView.getSelectionModel().getSelectedItem();
        if (ObjectUtil.isEmpty(this.pdAndExpOutData)) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u672a\u9009\u62e9\u5bf9\u5e94\u8bb0\u5f55\uff0c\u8bf7\u91cd\u65b0\u9009\u62e9\uff01");
            alert.showAndWait();
            return;
        }
        if (ObjectUtil.isEmpty(this.pdAndExpOutData.getNum())) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u6570\u91cf\u4e0d\u80fd\u4e3a\u7a7a");
            alert.showAndWait();
            return;
        }
        if (Float.valueOf(this.pdAndExpOutData.getGssbQtyB()).floatValue() < Float.valueOf(this.pdAndExpOutData.getNum()).floatValue()) {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u6574\u5355\u8be5\u5546\u54c1\u6279\u53f7\u6570\u91cf\u4e0d\u80fd\u5927\u4e8e\u5e93\u5b58");
            alert.showAndWait();
            return;
        }
        ObservableList items = this.salesReceiptsMainController.getTableView().getItems();
        GetSalesReceiptsTableOutData salesReceiptsTableOutData = (GetSalesReceiptsTableOutData)items.get(items.size() - 1);
        if (!this.salesReceiptsMainController.numInFlag) {
            salesReceiptsTableOutData.setPdAndExpData(this.pdAndExpOutData);
            salesReceiptsTableOutData.setNum(this.pdAndExpOutData.getNum());
            salesReceiptsTableOutData.setTotal(CommonUtil.format2(Float.valueOf(salesReceiptsTableOutData.getNum()).floatValue() * Float.valueOf(salesReceiptsTableOutData.getPrice()).floatValue()));
        } else {
            String num = this.pdAndExpOutData.getNum();
            if (ObjectUtil.isNotEmpty(num) && Float.valueOf(this.pdAndExpOutData.getGssbQtyB()).floatValue() < Float.valueOf(num).floatValue()) {
                Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", "\u5f53\u524d\u6700\u5927\u53ef\u9500\u552e\u6570\u91cf" + this.pdAndExpOutData.getGssbQtyB());
                alert.showAndWait();
                this.pdAndExpOutData = null;
                return;
            }
            salesReceiptsTableOutData.setPdAndExpData(this.pdAndExpOutData);
            salesReceiptsTableOutData.setNum(num);
            salesReceiptsTableOutData.setTotal(CommonUtil.format2(Float.valueOf(salesReceiptsTableOutData.getNum()).floatValue() * Float.valueOf(salesReceiptsTableOutData.getPrice()).floatValue()));
        }
        this.salesReceiptsMainController.getTableView().refresh();
        this.salesReceiptsMainController.getInputTextField().requestFocus();
        this.salesReceiptsMainController.getProPlaceF().setText(this.pdAndExpOutData.getProPlace());
        this.salesReceiptsMainController.getGssbBatchNoF().setText(this.pdAndExpOutData.getGssbBatchNo());
        this.salesReceiptsMainController.getGssbVaildDateF().setText(this.pdAndExpOutData.getGssbVaildDate());
        this.salesReceiptsMainController.getGssbQtyF().setText(this.pdAndExpOutData.getGssbQty());
        this.salesReceiptsMainController.getProSpecsF().setText(this.pdAndExpOutData.getProSpecs());
        this.salesReceiptsMainController.getGsplSeatF().setText(this.pdAndExpOutData.getGsplSeat());
        this.salesReceiptsMainController.getProIfPartF().setText(this.pdAndExpOutData.getProIfPart());
        this.salesReceiptsMainController.getProMedProdctF().setText(this.pdAndExpOutData.getProMedProdct());
        this.salesReceiptsMainController.countMoney();
        this.cancelAction();
        this.pointExchange(this.pdAndExpOutData.getProCode());
    }

    private void pointExchange(String proCode) {
        if (!((Boolean)CacheUtil.get("networkFlag")).booleanValue()) {
            return;
        }
        HashMap<String, Object> param = new HashMap<String, Object>();
        param.put("nameOrCode", proCode);
        HttpJson httpJson = SalesReceiptsUtil.pointExchange(param);
        if (httpJson.isSuccess()) {
            this.pointExchangeOutData = (GetPointExchangeOutData)JSON.parseObject((String)httpJson.getMsg(), GetPointExchangeOutData.class);
            if (ObjectUtil.isNotEmpty(this.pointExchangeOutData)) {
                new Timer().schedule(new TimerTask(){

                    @Override
                    public void run() {
                        Platform.runLater((Runnable)new Runnable(){

                            @Override
                            public void run() {
                                PdAndExpController.this.pointExchangeTipController.init();
                                CommonUtil.showView(PointExchangeTipView.class, Modality.APPLICATION_MODAL);
                            }
                        });
                    }
                }, 500L);
            }
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", httpJson.getMsg());
            alert.showAndWait();
            return;
        }
    }

    @FXML
    private void cancelAction() {
        this.pane.getScene().getWindow().hide();
    }

    public TableColumn<GetPdAndExpOutData, String> getProCode() {
        return this.proCode;
    }

    public TableView<GetPdAndExpOutData> getTableView() {
        return this.tableView;
    }

    public TableColumn<GetPdAndExpOutData, String> getProName() {
        return this.proName;
    }

    public TableColumn<GetPdAndExpOutData, String> getGssbQty() {
        return this.gssbQty;
    }

    public TableColumn<GetPdAndExpOutData, String> getGssbBatchNo() {
        return this.gssbBatchNo;
    }

    public TableColumn<GetPdAndExpOutData, String> getGssbVaildDate() {
        return this.gssbVaildDate;
    }

    public TableColumn<GetPdAndExpOutData, String> getNum() {
        return this.num;
    }

    public AnchorPane getPane() {
        return this.pane;
    }

    public Timer getTimer() {
        return this.timer;
    }

    public PointExchangeTipController getPointExchangeTipController() {
        return this.pointExchangeTipController;
    }

    public SalesReceiptsMainController getSalesReceiptsMainController() {
        return this.salesReceiptsMainController;
    }

    public ObservableList<GetPdAndExpOutData> getObservableTableList() {
        return this.observableTableList;
    }

    public String getProCodeParam() {
        return this.proCodeParam;
    }

    public GetPointExchangeOutData getPointExchangeOutData() {
        return this.pointExchangeOutData;
    }

    public GetPdAndExpOutData getPdAndExpOutData() {
        return this.pdAndExpOutData;
    }

    public void setProCode(TableColumn<GetPdAndExpOutData, String> proCode) {
        this.proCode = proCode;
    }

    public void setTableView(TableView<GetPdAndExpOutData> tableView) {
        this.tableView = tableView;
    }

    public void setProName(TableColumn<GetPdAndExpOutData, String> proName) {
        this.proName = proName;
    }

    public void setGssbQty(TableColumn<GetPdAndExpOutData, String> gssbQty) {
        this.gssbQty = gssbQty;
    }

    public void setGssbBatchNo(TableColumn<GetPdAndExpOutData, String> gssbBatchNo) {
        this.gssbBatchNo = gssbBatchNo;
    }

    public void setGssbVaildDate(TableColumn<GetPdAndExpOutData, String> gssbVaildDate) {
        this.gssbVaildDate = gssbVaildDate;
    }

    public void setNum(TableColumn<GetPdAndExpOutData, String> num) {
        this.num = num;
    }

    public void setPane(AnchorPane pane) {
        this.pane = pane;
    }

    public void setTimer(Timer timer) {
        this.timer = timer;
    }

    public void setPointExchangeTipController(PointExchangeTipController pointExchangeTipController) {
        this.pointExchangeTipController = pointExchangeTipController;
    }

    public void setSalesReceiptsMainController(SalesReceiptsMainController salesReceiptsMainController) {
        this.salesReceiptsMainController = salesReceiptsMainController;
    }

    public void setObservableTableList(ObservableList<GetPdAndExpOutData> observableTableList) {
        this.observableTableList = observableTableList;
    }

    public void setProCodeParam(String proCodeParam) {
        this.proCodeParam = proCodeParam;
    }

    public void setPointExchangeOutData(GetPointExchangeOutData pointExchangeOutData) {
        this.pointExchangeOutData = pointExchangeOutData;
    }

    public void setPdAndExpOutData(GetPdAndExpOutData pdAndExpOutData) {
        this.pdAndExpOutData = pdAndExpOutData;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof PdAndExpController)) {
            return false;
        }
        PdAndExpController other = (PdAndExpController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        TableColumn<GetPdAndExpOutData, String> this$proCode = this.getProCode();
        TableColumn<GetPdAndExpOutData, String> other$proCode = other.getProCode();
        if (this$proCode == null ? other$proCode != null : !this$proCode.equals(other$proCode)) {
            return false;
        }
        TableView<GetPdAndExpOutData> this$tableView = this.getTableView();
        TableView<GetPdAndExpOutData> other$tableView = other.getTableView();
        if (this$tableView == null ? other$tableView != null : !this$tableView.equals(other$tableView)) {
            return false;
        }
        TableColumn<GetPdAndExpOutData, String> this$proName = this.getProName();
        TableColumn<GetPdAndExpOutData, String> other$proName = other.getProName();
        if (this$proName == null ? other$proName != null : !this$proName.equals(other$proName)) {
            return false;
        }
        TableColumn<GetPdAndExpOutData, String> this$gssbQty = this.getGssbQty();
        TableColumn<GetPdAndExpOutData, String> other$gssbQty = other.getGssbQty();
        if (this$gssbQty == null ? other$gssbQty != null : !this$gssbQty.equals(other$gssbQty)) {
            return false;
        }
        TableColumn<GetPdAndExpOutData, String> this$gssbBatchNo = this.getGssbBatchNo();
        TableColumn<GetPdAndExpOutData, String> other$gssbBatchNo = other.getGssbBatchNo();
        if (this$gssbBatchNo == null ? other$gssbBatchNo != null : !this$gssbBatchNo.equals(other$gssbBatchNo)) {
            return false;
        }
        TableColumn<GetPdAndExpOutData, String> this$gssbVaildDate = this.getGssbVaildDate();
        TableColumn<GetPdAndExpOutData, String> other$gssbVaildDate = other.getGssbVaildDate();
        if (this$gssbVaildDate == null ? other$gssbVaildDate != null : !this$gssbVaildDate.equals(other$gssbVaildDate)) {
            return false;
        }
        TableColumn<GetPdAndExpOutData, String> this$num = this.getNum();
        TableColumn<GetPdAndExpOutData, String> other$num = other.getNum();
        if (this$num == null ? other$num != null : !this$num.equals(other$num)) {
            return false;
        }
        AnchorPane this$pane = this.getPane();
        AnchorPane other$pane = other.getPane();
        if (this$pane == null ? other$pane != null : !this$pane.equals(other$pane)) {
            return false;
        }
        Timer this$timer = this.getTimer();
        Timer other$timer = other.getTimer();
        if (this$timer == null ? other$timer != null : !this$timer.equals(other$timer)) {
            return false;
        }
        PointExchangeTipController this$pointExchangeTipController = this.getPointExchangeTipController();
        PointExchangeTipController other$pointExchangeTipController = other.getPointExchangeTipController();
        if (this$pointExchangeTipController == null ? other$pointExchangeTipController != null : !this$pointExchangeTipController.equals(other$pointExchangeTipController)) {
            return false;
        }
        SalesReceiptsMainController this$salesReceiptsMainController = this.getSalesReceiptsMainController();
        SalesReceiptsMainController other$salesReceiptsMainController = other.getSalesReceiptsMainController();
        if (this$salesReceiptsMainController == null ? other$salesReceiptsMainController != null : !(this$salesReceiptsMainController).equals(other$salesReceiptsMainController)) {
            return false;
        }
        ObservableList<GetPdAndExpOutData> this$observableTableList = this.getObservableTableList();
        ObservableList<GetPdAndExpOutData> other$observableTableList = other.getObservableTableList();
        if (this$observableTableList == null ? other$observableTableList != null : !this$observableTableList.equals(other$observableTableList)) {
            return false;
        }
        String this$proCodeParam = this.getProCodeParam();
        String other$proCodeParam = other.getProCodeParam();
        if (this$proCodeParam == null ? other$proCodeParam != null : !this$proCodeParam.equals(other$proCodeParam)) {
            return false;
        }
        GetPointExchangeOutData this$pointExchangeOutData = this.getPointExchangeOutData();
        GetPointExchangeOutData other$pointExchangeOutData = other.getPointExchangeOutData();
        if (this$pointExchangeOutData == null ? other$pointExchangeOutData != null : !(this$pointExchangeOutData).equals(other$pointExchangeOutData)) {
            return false;
        }
        GetPdAndExpOutData this$pdAndExpOutData = this.getPdAndExpOutData();
        GetPdAndExpOutData other$pdAndExpOutData = other.getPdAndExpOutData();
        return !(this$pdAndExpOutData == null ? other$pdAndExpOutData != null : !(this$pdAndExpOutData).equals(other$pdAndExpOutData));
    }

    protected boolean canEqual(Object other) {
        return other instanceof PdAndExpController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        TableColumn<GetPdAndExpOutData, String> $proCode = this.getProCode();
        result = result * 59 + ($proCode == null ? 43 : $proCode.hashCode());
        TableView<GetPdAndExpOutData> $tableView = this.getTableView();
        result = result * 59 + ($tableView == null ? 43 : $tableView.hashCode());
        TableColumn<GetPdAndExpOutData, String> $proName = this.getProName();
        result = result * 59 + ($proName == null ? 43 : $proName.hashCode());
        TableColumn<GetPdAndExpOutData, String> $gssbQty = this.getGssbQty();
        result = result * 59 + ($gssbQty == null ? 43 : $gssbQty.hashCode());
        TableColumn<GetPdAndExpOutData, String> $gssbBatchNo = this.getGssbBatchNo();
        result = result * 59 + ($gssbBatchNo == null ? 43 : $gssbBatchNo.hashCode());
        TableColumn<GetPdAndExpOutData, String> $gssbVaildDate = this.getGssbVaildDate();
        result = result * 59 + ($gssbVaildDate == null ? 43 : $gssbVaildDate.hashCode());
        TableColumn<GetPdAndExpOutData, String> $num = this.getNum();
        result = result * 59 + ($num == null ? 43 : $num.hashCode());
        AnchorPane $pane = this.getPane();
        result = result * 59 + ($pane == null ? 43 : $pane.hashCode());
        Timer $timer = this.getTimer();
        result = result * 59 + ($timer == null ? 43 : $timer.hashCode());
        PointExchangeTipController $pointExchangeTipController = this.getPointExchangeTipController();
        result = result * 59 + ($pointExchangeTipController == null ? 43 : $pointExchangeTipController.hashCode());
        SalesReceiptsMainController $salesReceiptsMainController = this.getSalesReceiptsMainController();
        result = result * 59 + ($salesReceiptsMainController == null ? 43 : ($salesReceiptsMainController).hashCode());
        ObservableList<GetPdAndExpOutData> $observableTableList = this.getObservableTableList();
        result = result * 59 + ($observableTableList == null ? 43 : $observableTableList.hashCode());
        String $proCodeParam = this.getProCodeParam();
        result = result * 59 + ($proCodeParam == null ? 43 : $proCodeParam.hashCode());
        GetPointExchangeOutData $pointExchangeOutData = this.getPointExchangeOutData();
        result = result * 59 + ($pointExchangeOutData == null ? 43 : ($pointExchangeOutData).hashCode());
        GetPdAndExpOutData $pdAndExpOutData = this.getPdAndExpOutData();
        result = result * 59 + ($pdAndExpOutData == null ? 43 : ($pdAndExpOutData).hashCode());
        return result;
    }

    public String toString() {
        return "PdAndExpController(proCode=" + this.getProCode() + ", tableView=" + this.getTableView() + ", proName=" + this.getProName() + ", gssbQty=" + this.getGssbQty() + ", gssbBatchNo=" + this.getGssbBatchNo() + ", gssbVaildDate=" + this.getGssbVaildDate() + ", num=" + this.getNum() + ", pane=" + this.getPane() + ", timer=" + this.getTimer() + ", pointExchangeTipController=" + this.getPointExchangeTipController() + ", salesReceiptsMainController=" + this.getSalesReceiptsMainController() + ", observableTableList=" + this.getObservableTableList() + ", proCodeParam=" + this.getProCodeParam() + ", pointExchangeOutData=" + this.getPointExchangeOutData() + ", pdAndExpOutData=" + this.getPdAndExpOutData() + ")";
    }
}

